package org.jsbd.boss.dao;

import java.util.List;
import java.util.Map;

import org.jsbd.boss.common.DataGridModel;
import org.jsbd.boss.domian.channel.ChannelScriptItem;
import org.jsbd.boss.domian.channel.ChannelScriptRepo;
import org.jsbd.boss.domian.channel.ChannelScriptRepoMark;

public interface IScriptDAO {

	Map<String, Object> selectScriptRepoListJson(DataGridModel page, ChannelScriptRepo channelScriptRepo);

	void insertChannelScriptRepo(ChannelScriptRepo channelScriptRepo);

	ChannelScriptRepo selectScriptRepoByName(String name);

	ChannelScriptRepo selectScriptRepoById(Long id);

	void updateChannelScriptRepo(ChannelScriptRepo channelScriptRepo);

	List<ChannelScriptRepoMark> selectMarksByRepoId(Long id);

	void deleteMarksByRepoId(Long repoId);

	void insertMark(List<ChannelScriptRepoMark> list);

	Map<String, Object> selectScriptListJson(DataGridModel page, ChannelScriptItem channelScriptItem);

	List<ChannelScriptRepo> selectScriptRepoByEnable(Integer isEnable);

	void insertChannelScriptItem(List<ChannelScriptItem> list);

	void abandonScript(String name);

	ChannelScriptRepoMark selectScriptRepo(String mark);

	List<String> selectFilePathByRepoIdAndType(Long repoId, Integer type);

	ChannelScriptItem selectScriptItemByName(String name);

	List<ChannelScriptRepoMark> selectAllMarks();

	void deleteByMark(String mark);

	List<ChannelScriptItem> selectChannelScriptItemByRepoid(Long repoId);

	void updateConfigScriptNum(ChannelScriptItem channelScriptItem);

	List<String> selectFilePathByRepoId(Long repoId);

}
